Skip to content

Conversation

@Sparshkhare1306
Copy link

Summary

This PR adds a compact, CI-friendly GENIE demo (model extraction → optional pruning) and safe fallbacks so the demo reliably runs in minimal environments (CI or local developer machines without optional heavy dependencies). The changes are conservative: full-featured behavior remains available when optional dependencies are installed.

What changed

  • examples/run_genie_experiments.py — CI-friendly runner: lazy imports, fallbacks, and pruning only when pruning helpers are available.
  • pygip/models/gcn_link_predictor.py — minimal GCNLinkPredictor fallback for demo/CI.
  • examples/train_small_predictor.py — tiny trainer to create a demo checkpoint for smoke testing.
  • examples/quick_check_surrogate.py — quick helper to inspect demo checkpoints.
  • .gitignore updates — ignore *.pth, *.zip, and data/ to avoid committing large artifacts.
  • small experiment utilities (plot/clean scripts) to help reproduce demo results locally.

Motivation

CI runners or minimal environments may not have optional heavy libs (dgl, etc.) or extra example helpers. These fallbacks ensure the "smoke" example runs quickly and reliably in CI and for reviewers.

How to reproduce locally (quick)

From repo root:

export PYTHONPATH="$(pwd):$PYTHONPATH"
pytest -q

# create demo checkpoint
python examples/train_small_predictor.py --out examples/watermarked_model_demo.pth

# run demo (extraction + pruning if available)
python examples/run_genie_experiments.py \
  --dataset Cora \
  --device cpu \
  --query_ratio 0.05 \
  --prune_ratios 0.1 \
  --model_path examples/watermarked_model_demo.pth

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant